训练分类器
本指南演示如何在 OV20i 摄像头系统上配置和训练分类模型。当您需要基于视觉特征自动将对象分类到不同类别时,请使用此流程。
何时使用分类: 按类型、尺寸、颜色或状态对零件进行分类;识别不同产品变体;具有多个可接受类别的质量控制。
先决条件
- 已激活并配置成像设置的配方
- 模板图像和对齐已完成(或跳过)
- 已定义检测 ROI
- 代表每个待检测类别的样本对象
步骤 1:访问分类块
1.1 导航到分类
- 点击面包屑菜单中的“Classification Block”,或
- 从导航栏下拉菜单中选择
1.2 验证先决条件
确保以下模块显示为绿色状态:
- ✅ 成像设置
- ✅ 模板和对齐(或跳过)
- ✅ 检测设置
步骤 2:创建分类类别
2.1 定义类别
- 点击“Inspection Types”下的
Edit
- 为每个要检测的类别添加分类
2.2 配置每个类别
针对每个类别:
- 输入类别名称: 使用描述性名称(例如,“Small”,“Medium”,“Large”)
- 选择类别颜色: 选择不同颜色以便视觉识别
- 添加描述: 可选,填写类别详细信息
- 点击
Save
2.3 类别命名最佳实践
良好名称 | 不佳名称 |
---|---|
Small_Bolt, Medium_Bolt, Large_Bolt | Type1, Type2, Type3 |
Red_Cap, Blue_Cap, Green_Cap | Color1, Color2, Color3 |
Good_Part, Defective_Part | Pass, Fail |
Screw_PhillipsHead, Screw_Flathead | A, B |
步骤 3:采集训练图像
3.1 图像采集流程
每个类别至少采集 5 张图像(推荐 10 张以上):
- 将代表该类别的对象放置在检测区域
- 确认对象位于 ROI 边界内
- 点击
Capture
采集训练图像 - 从下拉菜单选择对应类别
- 点击
Save
保存带标签的图像 - 对同类别的不同样本重复操作
3.2 训练数据要求
类别 | 最少图像数 | 推荐图像数 | 备注 |
---|---|---|---|
每个类别 | 5 | 10-15 | 图像越多,准确度越高 |
总数据集 | 15+ | 30-50+ | 各类别均衡分布 |
边缘案例 | 每类 2-3 | 每类 5+ | 边界样本 |
3.3 训练图像最佳实践
建议:
- 使用同类别的不同样本
- 变换对象的方向和位置
- 保持良好照明条件
- 包含边缘和临界样本
- 保持 ROI 取景一致
避免:
- 重复使用完全相同的对象
- 在一个 ROI 中包含多个对象
- 混合不同类别的对象于同一图像
- 使用模糊或光线不足的图像
- 采集过程中更改 ROI 大小
3.4 质量控制
每次采集后:
- 在预览中检查图像质量
- 确认类别标签正确
- 使用
Delete
按钮删除质量差的图像 - 必要时重新采集
步骤 4:配置训练参数
4.1 访问训练设置
- 点击
Train Classification Model
按钮
4.2 选择训练模式
根据需求选择:
训练模式 | 时长 | 准确度 | 适用场景 |
---|---|---|---|
Fast | 2-5 分钟 | 适合测试 | 初步模型验证 |
Balanced | 5-15 分钟 | 生产就绪 | 大多数应用 |
Accurate | 15-30 分钟 | 最高精度 | 关键应用 |
4.3 设置迭代次数
手动设置迭代数:
- 低 (50-100): 快速测试,基础准确度
- 中 (200-500): 生产质量
- 高 (500+): 最高准确度,训练较慢
4.4 高级设置(可选)
批量大小:
- 较小批量: 训练更稳定,但较慢
- 较大批量: 训练更快,可能不够稳定
学习率:
- 较低值: 更稳定,学习较慢
- 较高值: 学习更快,但有不稳定风险
建议: 除非有特定性能需求,否则使用默认设置。
步骤 5:开始训练过程
5.1 初始化训练
- 检查训练配置
- 点击
Start Training
- 在训练弹窗中监控进度
5.2 训练进度指示
监控以下指标:
- 当前迭代次数: 训练周期进度
- 训练准确率: 模型在训练数据上的表现
- 预计时间: 剩余训练时间
- 损失值: 模型误差(应随时间减少)
5.3 训练控制
训练期间可用操作:
- Abort Training(中止训练): 立即停止训练
- Finish Early(提前结束): 当前准确度达到要求时停止
- Extend Training(延长训练): 如有需要增加迭代次数
5.4 训练完成
训练自动停止条件:
- 达到目标准确率(通常为 95% 以上)
- 达到最大迭代次数
- 用户手动停止训练
步骤 6:评估模型性能
6.1 审查训练结果
检查最终指标:
- 最终准确率: 生产使用应大于 85%
- 训练时间: 记录以备参考
- 收敛情况: 确认准确率稳定
6.2 模型质量指标
准确率范围 | 质量等级 | 建议 |
---|---|---|
95%+ | 优秀 | 准备投入生产 |
85-94% | 良好 | 适合大多数应用 |
75-84% | 一般 | 考虑增加训练数据 |
<75% | 较差 | 需用更多/更好图像重新训练 |
6.3 低性能故障排除
问题 | 可能原因 | 解决方案 |
---|---|---|
准确率低 (<75%) | 训练数据不足 | 添加更多带标签图像 |
训练无提升 | 图像质量差 | 改善照明和对焦 |
类别混淆 | 对象外观相似 | 添加更多区分样本 |
过拟合 | 每类图像过少 | 平衡各类别数据集 |
步骤 7:测试分类性能
7.1 实时测试
- 点击
Live Preview
进入实时测试 - 将测试对象放入检测区域
- 观察分类结果:
- 预测类别名称
- 置信度百分比
- 处理时间
7.2 验证测试
系统化验证流程:
测试对象 | 预期类别 | 实际结果 | 置信度 | 通过/失败 |
---|---|---|---|---|
已知类别 A 对象 | 类别 A | _____ | ____% | ☐ |
已知类别 B 对象 | 类别 B | _____ | ____% | ☐ |
边界样本 | 类别 A 或 B | _____ | ____% | ☐ |
未知对象 | 低置信度 | _____ | ____% | ☐ |
7.3 性能验证
确认以下方面:
- 准确率: 已知对象分类正确
- 置信度: 明确样本置信度高(>80%)
- 一致性: 同一对象结果可重复
- 速度: 处理时间符合应用需求
步骤 8:模型优化
8.1 性能不佳时
迭代改进流程:
- 识别问题区域:
- 哪些类别混淆?
- 哪些对象被误分类?
- 置信度是否合理?
- 添加针对性训练数据:
- 更多混淆类别样本
- 边缘和临界样本
- 不同光照和位置条件
- 重新训练模型:
- 使用“Accurate”模式提升性能
- 增加迭代次数
- 监控准确率提升
8.2 高级优化
针对关键应用:
- 数据增强: 使用多样光照和位置
- 迁移学习: 以相似训练模型为起点
- 集成方法: 组合多个模型
- 定期重训: 使用新生产数据更新模型
步骤 9:完成配置
9.1 保存模型
- 确认性能满意
- 训练完成后模型自动保存
- 记录模型版本以备文档
9.2 文档记录
记录以下信息:
- 训练日期和版本
- 每类图像数量
- 训练模式和迭代次数
- 最终准确率
- 任何特殊说明
9.3 备份配置
- 导出配方备份
- 如需,单独保存训练图像
- 记录模型参数
成功!您的分类器已准备就绪
训练好的分类模型现在可以:
- 自动将对象分类到定义类别
- 为每个预测提供置信度分数
- 实时处理图像,适合生产使用
- 与 I/O 逻辑集成,实现自动决策
持续维护
定期模型更新
- 监控性能变化
- 根据需要添加新训练数据
- 定期重新训练以保持准确度
- 更新类别以适应新产品变体
性能监控
- 跟踪生产中的准确率指标
- 识别模型性能漂移
- 根据性能下降安排重训
后续步骤
训练完成后:
- 配置 I/O 逻辑以实现合格/不合格判定
- 在 IO Block 中设置生产流程
- 端到端测试完整检测系统
- 部署至生产环境
常见陷阱
陷阱 | 影响 | 预防措施 |
---|---|---|
训练数据不足 | 准确率低 | 每类使用 10+ 张图像 |
类别不平衡 | 预测偏差 | 各类别图像数量均衡 |
图像质量差 | 结果不稳定 | 优化照明和对焦 |
类别定义过于相似 | 分类混淆 | 选择明显不同的类别定义 |
无验证测试 | 生产失败 | 始终使用未见对象进行测试 |